Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

$mol_number dot minus constraint #717

Merged
merged 16 commits into from
Nov 25, 2024
Merged

$mol_number dot minus constraint #717

merged 16 commits into from
Nov 25, 2024

Conversation

zerkalica
Copy link
Collaborator

No description provided.

number/number.view.ts Outdated Show resolved Hide resolved
number/number.view.ts Outdated Show resolved Hide resolved
const dot_pos = next.indexOf('.')

if (dot_pos !== -1) {
next = next.slice(0, dot_pos) + '.' + next.slice(dot_pos + 1).replace(/\./g, '')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А зачем ты пересоздаёшь число? value_normalized возвращает его в нормальной форме.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

value_normalized внутри в число конвертит и херит всю строку, при малейшем не соответствии формату, две точки к примеру 123..

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

по хорошему, если юзер ставит точку где-то, надо точки остальные убирать и оставлять там, где курсор. Не хотел в эти дебри есть, поведение текущее меня устраивает.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Так можно просто сравнить текущее значение с нормальным сохранённым и вернуть одно из них.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

было 123.321

ввели 123.3.21

сейчас вернется 1233.21

ты предлагаешь не давать юзеру простой способ переместить точку? надо обязательно сделать перед этим лишнее действие по удалению старой точки?

Copy link
Collaborator Author

@zerkalica zerkalica Nov 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И что значит сравнить с нормальным сохраненным? в next у нас 2 точки, как понять какую отбросить?

просто сравнение не поможет тут

Если сконвертить в число и проверить на NaN - то этого мало, т.к. эта проверка не сетит в value, но инпут не ограничивает, иначе какой-нить минус не ввести будет отдельно

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ты предлагаешь не давать юзеру простой способ переместить точку?

Странный вывод. Я предлагаю разрешить ему писать что хочет, но не проталкивать вглубь невалидные значения.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

я не понимаю, что ты хочешь, предлагаю закруглятся


for (let i = num_str.length - 1; i >= 0; i--) {
result += '_'
if ((i % 3) === 0) result += ' '
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я бы предложил форматировать через подчёркивания, как в JS.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

подчеркивания используются в mol_format как плейсхолдер в маске:

while( mask[ from ] && mask[ from ] !== '_' ) {

разделитель не может быть подчеркиванием

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Возможно стоит добавить кастомизацию плейсхолдера.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

такая себе идея, будут несовместимые шаблоны, я пока отвинтил format, бажный он, быстро пофиксить не получилось

number/number.view.ts Outdated Show resolved Hide resolved
number/number.view.ts Outdated Show resolved Hide resolved
@zerkalica zerkalica enabled auto-merge November 25, 2024 19:02
@zerkalica zerkalica merged commit bd600bd into master Nov 25, 2024
1 of 20 checks passed
@zerkalica zerkalica deleted the number-input-mask branch November 25, 2024 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants